package scala.collection.immutable

/**
 * map 不可变
 */
object MapTest {
  def main(args: Array[String]): Unit = {
    //    1.创建不可变集合Map
    val map = Map(1 -> "song", 2 -> "li", 3 -> "wang")
    println(map)

    //遍历
    map.foreach(println)
    map.foreach((kv) => {
      println(kv)
    })

    map.foreach((kv: (Int, String)) => println(kv))

    for (elem <- map.keys) {
      //      使用get访问map集合的数据，会返回特殊类型Option(选项)：有值（Some），无值（None）
      println(elem + "=" + map.get(elem).get)
    }

    //访问具体数据
    println(map.get(1))
    println(map.get(3))
    println("----------------")
    //4.如果key不存在，返回0
    println(map.get(3).getOrElse("没有找到"))
    println(map.getOrElse(3, "没有找到"))
    println(map.getOrElse(10, "没有找到"))

    println("--------------------")
    println(map.filter((kv: (Int, String)) => kv._1 > 1))
    val valuesList = map.values.map(m => m)
    println(valuesList)

  }
}
